<!DOCTYPE html>
<html>
<head>
    <script src="http://maps.google.com/maps/api/js?v=3&amp;sensor=false"></script>
    <script src="../../OLLoader.js"></script>
    <script src="../../../lib/deprecated.js"></script>
    <script type="text/javascript">
    
    var name = 'Test Layer';
    var url = "http://octo.metacarta.com/cgi-bin/mapserv";
    var params = { map: '/mapdata/vmap_wms.map',
                   layers: 'basic',
                   format: 'image/jpeg'};

    function test_Layer_WMS_Reproject (t) {
        var validkey = (window.location.protocol == "file:") ||
                       (window.location.host == "localhost") ||
                       (window.location.host == "openlayers.org");
        if (OpenLayers.BROWSER_NAME == "opera" || OpenLayers.BROWSER_NAME == "safari") {
            t.plan(1);
            t.debug_print("Can't test google reprojection in Opera or Safari.");
        } else if(validkey) {
            t.plan(5);

            var map = new OpenLayers.Map('map', {tileManager: null});
            var layer = new OpenLayers.Layer.Google("Google");
            map.addLayer(layer);
            var wmslayer = new OpenLayers.Layer.WMS(name, url, params,
                                                    {isBaseLayer: false, reproject:true, buffer: 2});
            wmslayer.isBaseLayer=false;
            map.addLayer(wmslayer);
            map.setCenter(new OpenLayers.LonLat(0,0), 5);
            var tile = wmslayer.grid[0][0];
            t.eq( tile.bounds.left, -22.5, "left side matches" );
            t.eq( tile.bounds.right, -11.25, "right side matches" );
            t.eq( tile.bounds.bottom.toFixed(6), '11.781325', "bottom side matches" );
            t.eq( tile.bounds.top.toFixed(6), '22.512557', "top side matches" );
            map.destroy();
        } else {
            t.plan(1);
            t.debug_print("can't test google layer from " +
                          window.location.host);
        }

        var map = new OpenLayers.Map('map', {tileManager: null});
        layer = new OpenLayers.Layer.WMS(name, url, params, {buffer: 2});
        map.addLayer(layer);
        map.setCenter(new OpenLayers.LonLat(0,0), 5);
        var tile = layer.grid[0][0];
        t.ok( tile.bounds.equals(new OpenLayers.Bounds(-33.75, 33.75, -22.5, 45)), "okay");

        map.destroy();
    }
  </script>
</head>
<body>
<div id="map" style="width:500px;height:550px"></div>
</body>
</html>
